package com.intramirror.wd.model.vo.coupon;

import java.util.Date;
import java.util.List;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.intramirror.wd.model.po.S2cCouponStrategy;
import com.intramirror.wd.model.po.S2cCoupons;
import com.intramirror.wd.model.vo.page.PageInVo;

/**
 * database table is s2c_coupon_strategy
 * @mbg.generated do_not_delete_during_merge
 */

@SuppressWarnings("serial")
public class S2cCouponStrategyVo extends PageInVo {

    public S2cCouponStrategyVo(Integer page, Integer pageSize) {
        if(page == null || pageSize == null) {
            this.setPage(getDefaultPageNo());
            this.setPageSize(getDefaultPageSize());
        } else {
            this.setPage(page);
            this.setPageSize(pageSize);
        }

    }
    public S2cCouponStrategyVo() {

    }
    private List<Integer> couponIds;


    private S2cCouponStrategy couponStrategy;

    private List<S2cCoupons> couponsList;

    //总数
    private Integer sum;
    //剩余
    private Integer restSum;

    /**
     * database column is s2c_coupon_strategy.id
     * @mbg.generated
     */
    private Long id;

    /**
     * 名称
     * database column is s2c_coupon_strategy.name
     * @mbg.generated
     */
    private String name;

    /**
     * 备注
     * database column is s2c_coupon_strategy.remark
     * @mbg.generated
     */
    private String remark;

    /**
     * 开始时间
     * database column is s2c_coupon_strategy.start_date
     * @mbg.generated
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date startDate;

    /**
     * 结束时间
     * database column is s2c_coupon_strategy.end_date
     * @mbg.generated
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date endDate;

    /**
     * 1: 新用户注册 2: 指定用户 3: 老用户邀请新用户
     * database column is s2c_coupon_strategy.type
     * @mbg.generated
     */
    private Integer type;

    /**
     * 1: 自动获得 2: 点击领取
     * database column is s2c_coupon_strategy.fetch_type
     * @mbg.generated
     */
    private Integer fetchType;

    /**
     * 是否发布
     * database column is s2c_coupon_strategy.is_published
     * @mbg.generated
     */
    private Integer isPublished;

    /**
     * database column is s2c_coupon_strategy.created_at
     * @mbg.generated
     */
    private Date createdAt;

    /**
     * database column is s2c_coupon_strategy.updated_at
     * @mbg.generated
     */
    private Date updatedAt;

    public S2cCouponStrategy getCouponStrategy() {
        return couponStrategy;
    }

    public void setCouponStrategy(S2cCouponStrategy couponStrategy) {
        this.couponStrategy = couponStrategy;
    }

    public List<S2cCoupons> getCouponsList() {
        return couponsList;
    }

    public void setCouponsList(List<S2cCoupons> couponsList) {
        this.couponsList = couponsList;
    }

    public List<Integer> getCouponIds() {
        return couponIds;
    }

    public void setCouponIds(List<Integer> couponIds) {
        this.couponIds = couponIds;
    }


    public Integer getSum() {
        return sum;
    }

    public void setSum(Integer sum) {
        this.sum = sum;
    }

    public Integer getRestSum() {
        return restSum;
    }

    public void setRestSum(Integer restSum) {
        this.restSum = restSum;
    }

    public Integer getType() {
        return type;
    }

    public void setType(Integer type) {
        this.type = type;
    }

    public Integer getFetchType() {
        return fetchType;
    }

    public void setFetchType(Integer fetchType) {
        this.fetchType = fetchType;
    }

    /**
     * @return the value of s2c_coupon_strategy.id
     * @mbg.generated
     */
    public Long getId() {
        return id;
    }

    /**
     * @param id the value for s2c_coupon_strategy.id
     * @mbg.generated
     */
    public void setId(Long id) {
        this.id = id;
    }

    /**
     * @return the value of s2c_coupon_strategy.name
     * @mbg.generated
     */
    public String getName() {
        return name;
    }

    /**
     * @param name the value for s2c_coupon_strategy.name
     * @mbg.generated
     */
    public void setName(String name) {
        this.name = name == null ? null : name.trim();
    }

    /**
     * @return the value of s2c_coupon_strategy.remark
     * @mbg.generated
     */
    public String getRemark() {
        return remark;
    }

    /**
     * @param remark the value for s2c_coupon_strategy.remark
     * @mbg.generated
     */
    public void setRemark(String remark) {
        this.remark = remark == null ? null : remark.trim();
    }

    /**
     * @return the value of s2c_coupon_strategy.start_date
     * @mbg.generated
     */
    public Date getStartDate() {
        return startDate;
    }

    /**
     * @param startDate the value for s2c_coupon_strategy.start_date
     * @mbg.generated
     */
    public void setStartDate(Date startDate) {
        this.startDate = startDate;
    }

    /**
     * @return the value of s2c_coupon_strategy.end_date
     * @mbg.generated
     */
    public Date getEndDate() {
        return endDate;
    }

    /**
     * @param endDate the value for s2c_coupon_strategy.end_date
     * @mbg.generated
     */
    public void setEndDate(Date endDate) {
        this.endDate = endDate;
    }


    /**
     * @return the value of s2c_coupon_strategy.is_published
     * @mbg.generated
     */
    public Integer getIsPublished() {
        return isPublished;
    }

    /**
     * @param isPublished the value for s2c_coupon_strategy.is_published
     * @mbg.generated
     */
    public void setIsPublished(Integer isPublished) {
        this.isPublished = isPublished;
    }

    /**
     * @return the value of s2c_coupon_strategy.created_at
     * @mbg.generated
     */
    public Date getCreatedAt() {
        return createdAt;
    }

    /**
     * @param createdAt the value for s2c_coupon_strategy.created_at
     * @mbg.generated
     */
    public void setCreatedAt(Date createdAt) {
        this.createdAt = createdAt;
    }

    /**
     * @return the value of s2c_coupon_strategy.updated_at
     * @mbg.generated
     */
    public Date getUpdatedAt() {
        return updatedAt;
    }

    /**
     * @param updatedAt the value for s2c_coupon_strategy.updated_at
     * @mbg.generated
     */
    public void setUpdatedAt(Date updatedAt) {
        this.updatedAt = updatedAt;
    }
}